package modelo.entidad;

import java.io.Serializable;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table (name="tipousuario",schema="public")
@PrimaryKeyJoinColumn(name="id")
public class TipoUsuario implements Serializable{
	
	private static final long serialVersionUID = 1L;
 
	@Id
	@SequenceGenerator(name="SeqId", sequenceName="public.tipousuario_id_seq", allocationSize=1)
	@GeneratedValue(generator="SeqId")
	private int id;
	@Column (nullable = false, name="descripcion")
	private String descripcion;

	@Transient	
	private boolean editingStatus=false;
    @OneToMany(cascade = CascadeType.ALL,fetch=FetchType.EAGER)
    @JoinColumn(name = "id_tipousuario")
	private List<Usuario> usuarios;
	
	public TipoUsuario(int id, String descripcion) {
		super();
		this.id = id;
		this.descripcion = descripcion;
		
	}

	public TipoUsuario() {
		super();
		editingStatus=false;
	}
	
	
	

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	
	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}


	public List<Usuario> getUsuarios() {
		return usuarios;
	}

	public void setUsuarios(List<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

	public boolean isEditingStatus() {
		return editingStatus;
	}

	public void setEditingStatus(boolean editingStatus) {
		this.editingStatus = editingStatus;
	}
		
}
